//package enumerations;// enumerations/SmartCasting.java
//// (c)2021 MindView LLC: see Copyright.txt
//// We make no guarantees that this code is fit for any purpose.
//// Visit http://OnJava8.com for more book information.
//// {NewFeature} Since JDK 16
//
//public class SmartCasting {
//  static void dumb(Object x) {
//    if(x instanceof String) {
//      String s = (String)x;
//      if(s.length() > 0) {
//        System.out.format(
//          "%d %s%n", s.length(), s.toUpperCase());
//      }
//    }
//  }
//  static void smart(Object x) {
//    if(x instanceof String s && s.length() > 0) {
//      System.out.format(
//        "%d %s%n", s.length(), s.toUpperCase());
//    }
//  }
//  static void wrong(Object x) {
//    // "Or" never works:
//    // if(x instanceof String s || s.length() > 0) {}
//    // error: cannot find symbol   ^
//  }
//  public static void main(String[] args) {
//    dumb("dumb");
//    smart("smart");
//  }
//}
///* Output:
//4 DUMB
//5 SMART
//*/
